/*
 * @Author: 涵崽
 * @Date: 2024-03-06 10:37:46
 * @email: 1045654@qq.com
 * @gitee: https://gitee.com/han-zai
 * @LastEditors: 涵崽
 * @LastEditTime: 2024-03-06 10:56:51
 * @Description: 微信：1045654
 */
export function throttle(fn, delay) {
  let timeoutId; // 用于存储 setTimeout 的 ID
  return function (...args) {
    const context = this; // 保存函数调用的上下文

    if (!timeoutId) {
      // 如果没有定时器在运行，则设置一个新的定时器
      timeoutId = setTimeout(() => {
        fn.apply(context, args); // 使用正确的上下文和参数执行函数
        timeoutId = null; // 清除定时器 ID
      }, delay);
    }
  };
}
